package com.esyoga.yoyoga.service;

import com.esyoga.yoyoga.enums.BillTypeEn;
import com.esyoga.yoyoga.enums.UserTypeEn;
import com.esyoga.yoyoga.pojo.TBill;

import java.math.BigDecimal;
import java.util.List;

public interface PayService {
    /**
     *
     * @param uId   用户ID
     * @param userType  用户类型：
     * @param billType   BillType枚举类型
     * @param out_trade_no  '交易订单号',
     * @param trade_no 支付宝流水号
     * @return
     */
    int insertBillRecord(Integer uId, UserTypeEn userType, BillTypeEn billType, String out_trade_no, String trade_no);


    /**
     * 更新钱包余额，并增加一条流水
     * @param billType 账单类型
     * @param out_trade_no 订单号
     * @param trade_no 支付宝流水号
     * @param money 金额
     * @param uId 用户ID
     * @param userType 用户类型
     *
     */
    public void updateBalanceAndInsertBillRecord(BillTypeEn billType, String out_trade_no, String trade_no, BigDecimal money, Integer uId, UserTypeEn userType);


    /**
     * 根据用户ID和用户类型查找账单
     * @param uId
     * @param userType
     * @return
     */
    public List<TBill> selectBillByUser(Integer uId, Integer userType);
}
